【速報】オンプレでもECSが動くAmazon ECS Anywhereが発表されました!#reinvent
「ECSって便利だけれど、どこまでいってもAWSのマネージドサービスだよなぁ」
コンテナオーケストレーションとしてkubernetesの地位は確立された感はありますが、AWS上でコンテナワークロードを展開するとき、各種AWSのマネージドサービスとの連携が優れているECSも有力な選択肢として挙げられます。2014年発表でその歴史は長く、機能も豊富でぶっちゃけハマコーECS大好きです。
そんなECSですが、re:Invent 2020のKeynoteにおいて、ECS Anywhereというものが突如発表されました。
Introducing Amazon ECS Anywhere | Containers
オンプレミスなどの自社のデータセンターで、ECSのAPIを利用して、クラスターの管理、コンテナワークロードのスケジューリング、監視が可能。オンプレとAWSをまたいでECSをシームレスに利用が可能となります!
Amazon ECS Anywhereとは
Amazon ECS Anywhereを利用すると、ECSのタスクを任意の環境(AWS以外のデータセンターやオンプレミス)にデプロイ可能となります。昨年のre:Invent 2019では、AWS Outpostsが発表され、それを利用することも可能ですが、Amazon ECS AnywhereはAWS Outpostsとは完全に別物であり、より利用がシンプルになっています。
リリース予定は2021年とのこと。
主な特徴
- ECSのコントロールプレーンは従来どおりAWS環境に存在
- AWS Systems ManagerエージェントをオンプレミスのOSにインストールすることで、そのOSが「マネージドインスタンス」に変換されます
- Amazon ECS agentがこれらのマネージドインスタンスにインストールされ、指定したECSクラスターにそのインスタンスが登録されます
- 従来の「EC2」や「FARGATE」とは異なる「EXTERNAL」と呼ばれる起動タイプが追加されます
- 将来的には、キャパシティプロバイダーのサポートも予定されています
サービス設計における留意点
- ECSのコントロールプレーンは、AWSのリージョン内に残り、ユーザーはアプリケーションデプロイのためのインフラを自由に設計〜構築できます
- オンプレミス側のデータプレーンと、ECSのコントロールプレーンとのインターフェースは、タスク管理の必要なものだけが利用されます
- データプレーンのインフラには依存しません。ECS Anywhereエージェントはインフラ種別に関係なく、対応するOSのあらゆるインフラで動作可能です
- コントロールプレーンとの接続が切れても、ECS Anywhereタスクはそのままインフラ上で動作し、タスクの更新やスケーリングなどが必要になったときに、ECSコントロールプレーンとの通信が必要になります
デモ動画
既に詳細な紹介用デモ動画も用意されています。流れを把握するにはこれが一番。
関連情報
EKSにも、同じようなコンセプトのAmazon EKS Anywhereが発表されています。
ECSワークロードのさらなる飛躍につながるか
AWSの完全独自仕様として進化してきたECS。コンテナオーケストレーターとして非常に高機能で使いやすいんですが、AWSのフルマネージドサービスであるため、基本的にAWSの中でしか使えないものでした。
今回のECS Anywhereは、ECS Anywhere用のエージェントをインストールすることで、データプレーンをAWSから外だしすることが可能となっており、コントロールプレーンの可用性はマネージドサービスとして管理をAWSに任せながら、オンプレ側で任意のデータプレーンを利用することで、よりオンプレ側の計算リソースを活用しつつ、高機能なECSコントロールプレーンの機能を活用することができます。
オンプレ環境やデータセンターでコンテナオーケストレーターを展開する場合、基本的にkubernetesベースのソリューション一択でしたが、コントロールプレーンだけAWS側を利用するAmazon ECS Anywhereを使うことで、よりECSの活用可能性が広がるのではと考えています。
それでは、今日はこのへんで。濱田(@hamako9999)でした。